#!/bin/bash

disk_sign=79

while true
do

#获取本机ip地址
ip=$(ifconfig ens33 | egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | head -n 1)
echo "$ip"
#获取当前时间
current_time=$(date "+%Y-%m-%d %H:%M:%S")
#获取的磁盘数据
disk_u=$(df -h /var/lib/docker|awk -F" " 'NR==2 {print $5}'| grep -o '[0-9]*')
total_d=$(df -h /var/lib/docker|awk -F" " 'NR==2 {print $2}')
use_d=$(df -h /var/lib/docker|awk -F" " 'NR==2 {print $3}')
left_d=$(df -h /var/lib/docker|awk -F" " 'NR==2 {print $4}')
pre_d=$(df -h /var/lib/docker|awk -F" " 'NR==2 {print $5}')
#内存
total_m=$(free -m|awk -F" " 'NR==2{print $2}')
avail_m=$(free -m|awk -F" " 'NR==2{print $7}')
pre=$(echo "($total_m-$avail_m)*100/$total_m"|bc)
pre_m=$pre%
# cpu
cpu_c=$(sar 1 1|tail -1|awk '{print$NF}'|cut -d '.' -f1 )
cpu_u=$((100 - cpu_c))
#磁盘的警告
mess="主机$ip 环境磁盘使用率超过85%，磁盘总大小为:$total_d, 已用: $use_d, 剩余$left_d, 使用率为: $pre_d, 当前所使用内存为: $pre_m%, 当前所使用cpu为: $cpu_u%, 当前时间为: $current_time"
#内存的警告
mess2="主机$ip 环境内存的使用率超过85%, 当前所使用内存为$pre_m, 当前时间为: $current_time"
#cpu的警告
mess3="主机$ip cpu使用率超过85%, 当前所使用cpu为$cpu_u%, 当前时间为: $current_time"
if [[ $disk_u -ge 85 ]];then
    num=$mess
    differ=$(($disk_u - $disk_sign))
    echo "当前磁盘使用率为: ${pre_d}, 当前时间为: $current_time"
    echo "disk_u: $disk_u, disk_sign: $disk_sign, differ: $differ"
    if [[ $differ -ge 1 ]];then
       disk_sign=$disk_u
       set +e
       curl 'https://oapi.dingtalk.com/robot/send?access_token=4670385b2619d80d5c76a7a7e2f580c3fb84cc952e370676279e20fc32dcd090' -H'Content-Type: application/json' -d'{"msgtype":"text", "text": {"content": "'"${num}"'"}}'
    fi
else
    disk_sign=5
    echo "当前磁盘使用率为: ${pre_d}, 当前时间为: $current_time"
fi
if [[ $pre -ge 85 ]];then
    num="$mess2"
    set +e
    curl 'https://oapi.dingtalk.com/robot/send?access_token=4670385b2619d80d5c76a7a7e2f580c3fb84cc952e370676279e20fc32dcd090' -H'Content-Type: application/json' -d'{"msgtype": "text","text": {"content": "'"${num}"'"}}'
else
    echo "当前内存使用率为: $pre_m, 当前时间为: $current_time"
fi
if [[ $cpu_u -ge 85 ]];then
    num="$mess3"
    set +e
    curl 'https://oapi.dingtalk.com/robot/send?access_token=4670385b2619d80d5c76a7a7e2f580c3fb84cc952e370676279e20fc32dcd090' -H'Content-Type: application/json' -d'{"msgtype": "text","text": {"content": "'"${num}"'"}}'
else
    echo "当前cpu使用率为: $cpu_u%, 当前时间为: $current_time"
fi
sleep 500
done;
